/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.mx.saco.service.impl;

import com.mx.saco.bean.UsuarioBean;
import com.mx.saco.dao.UsuarioDAO;
import com.mx.saco.entity.Elemento;
import com.mx.saco.entity.Usuario;
import com.mx.saco.service.UsuarioService;
import com.mx.saco.util.Util;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import org.dozer.DozerBeanMapperSingletonWrapper;


@Stateless
public class UsuarioServiceImpl implements UsuarioService {

    @EJB
    UsuarioDAO usuarioDAO;

    @Override
    public UsuarioBean validaUserName(String userName) {
        Usuario usuario = this.usuarioDAO.validaUserName(userName);
        if (usuario != null) {
            return DozerBeanMapperSingletonWrapper
                    .getInstance().map(usuario, UsuarioBean.class);
        } else {
            return null;
        }
    }
/*
    @Override
    public List<UsuarioBean> consultaTotalUsuarios() {
        List<UsuarioBean> lista = null;
        List<Usuario> usuarios = this.usuarioDAO.buscarTodo();
        if (usuarios != null) {
            lista = new ArrayList<UsuarioBean>();
            for (Usuario usuario : usuarios) {
                if (!usuario.getEstatus().getIdElemento().equals(Util.ESTATUS_USUARIO_ELIMINADO)) {
                    lista.add(DozerBeanMapperSingletonWrapper.getInstance().map(usuario, UsuarioBean.class));
                }
            }
        }
        return lista;
    }

    @Override
    public Long guardarUsuario(UsuarioBean usuario) {
        Usuario u = new Usuario();
        Elemento e = new Elemento();
        u.setCorreoElectronico(usuario.getCorreoElectronico());
        u.setNombre(usuario.getNombre());
        u.setPassword(EncriptaPassword.encriptaPassword(usuario.getPassword()));
        u.setUsuario(usuario.getUsuario());
        u.setFechaCreacion(usuario.getFechaCreacion());
        e.setIdElemento(usuario.getIdEstatus());
        u.setEstatus(e);
        usuarioDAO.guardar(u);
        return u.getIdUsuario();
    }
*/
//    @Override
//    public Long guardarUsuario(UsuarioBean usuario) {
//        Usuario u = DozerBeanMapperSingletonWrapper.getInstance().map(usuario, Usuario.class);
//        u.setPassword(EncriptaPassword.encriptaPassword(usuario.getPassword())); 
//        u.setEstatus(new Elemento(usuario.getEstatus()));
//        try {
//            this.usuarioDAO.guardar(u);
//            return u.getIdUsuario();
//        } catch (Exception ex) {
//        }
//        return 0L;
//
//    }
 /*   @Override
    public boolean actualizarUsuario(UsuarioBean usuario) {
        Usuario u = DozerBeanMapperSingletonWrapper.getInstance().map(usuario, Usuario.class);
        if (usuario.getNuevoPassword() != null && usuario.getNuevoPassword().length() > 0) {
            u.setPassword(EncriptaPassword.encriptaPassword(usuario.getNuevoPassword()));
        }
        this.usuarioDAO.actualizar(u);
        return Boolean.TRUE;
    }

    @Override
    public boolean borrarUsuario(UsuarioBean usuario) {
        this.usuarioDAO.borrarUsuario(usuario.getIdUsuario());
        return Boolean.TRUE;
    }

    @Override
    public UsuarioBean consultaUsarioPorId(Long idUsuario) {
        Usuario usuario = this.usuarioDAO.buscarPorId(idUsuario);
        return DozerBeanMapperSingletonWrapper.getInstance().map(usuario, UsuarioBean.class);
    }
    
    */
}
